import axios from "axios";
import env from "./env";
import { Toast } from "vant" 
import "vant/es/toast/style"

// 创建实例
const service = axios.create({
  baseURL: env.prod.baseURL,
  timeout: 5000,
});

// 
const whiteList = ["/collect","/myCourse/weekList"]

// 配置请求拦截
service.interceptors.request.use(
  (config) => {
    Toast.loading({
      message:"加载中...",
      forbidClick: true,
      loadingType:"spinner",
      duration:0,
    })

    if(whiteList.includes(config.url)){
      const token = localStorage.getItem("token")
      token && (config.headers.zywxtoken = "zywx" + token)
    }
    return config
  },
  (error) => {
    return Promise.reiect(error)
  }
);
service.interceptors.response.use(
  (res)=>{
    // const {msg,status,data} = res.data
    const successArr = [200]
    if(successArr.includes(res.data.code)){
      Toast.clear()
      return res.data
    }
    Toast.loading({
      message:res.data.msg,
      forbidClick:true
    });
    return Promise.reject(res.data.msg)
  },
  (error)=>{

    return Promise.reject(res.data.msg)
  }
)

export default service;



// http.interceptors.request.use(
//   (config) => {
//     //后期在这里会加loading和token

//     return config;
//   },
//   (err) => {
//     return Promise.reject(err); // Promise.reject在这里会让我们走.catch
//   }
// );
// // 这是请求拦截器 对应两个拦截点 成功和失败

// http.interceptors.response.use(
//   (res) => {
//     //后期在这里要处理错误编码

//     return res;
//   },
//   (err) => {
//     return Promise.reject(err);
//   }
// );

// //今天只放了 两个空拦截器 后期我们就可以往里面加 一些操作了

// export default http;
